Package-level declarations

Types

Link copied to clipboard

Public API interface for controlling compose mode in the terminal.

Link copied to clipboard
sealed class DelKeyMode

Controls what byte sequence the backspace key sends.

Link copied to clipboard
interface ModifierManager

Manages modifier key state for terminal keyboard input. This can be used to combine some external state about the Ctrl, Alt, and Shift keys. For instance, combining a keyboard with an on-screen button.

Link copied to clipboard

Progress state for OSC 9;4 progress reporting. Used by Windows Terminal and other terminals to display progress in tab headers.

Link copied to clipboard
sealed class RightAltMode

Controls how the right-alt key (AltGr) is interpreted by the terminal keyboard handler.

Link copied to clipboard

Interface for controlling text selection in the terminal. This allows external components (UI chrome, keyboard handlers, accessibility) to control selection.

Link copied to clipboard
sealed class SelectionMode
Link copied to clipboard
data class TerminalDimensions(val rows: Int, val columns: Int)

Represents the size of the terminal in characters.

Link copied to clipboard
sealed interface TerminalEmulator

Terminal emulator interface. This has no dependency on any UI framework so it may be run in a Service on Android. It handles the management of the terminal emulation state.

Link copied to clipboard
Link copied to clipboard
data class TerminalUrl(val url: String, val source: TerminalUrlSource)

URL discovered in terminal output.

Link copied to clipboard
sealed class TerminalUrlSource
Link copied to clipboard
sealed class UrlScanScope

Line range to scan for URLs.

Link copied to clipboard
object VTermKey

VTerm key codes from libvterm. These correspond to VTermKey enum in vterm.h

Functions

Link copied to clipboard
fun Terminal(terminalEmulator: TerminalEmulator, modifier: Modifier = Modifier, typeface: Typeface = Typeface.MONOSPACE, initialFontSize: TextUnit = 11.sp, minFontSize: TextUnit = 6.sp, maxFontSize: TextUnit = 30.sp, backgroundColor: Color = Color.Black, foregroundColor: Color = Color.White, selectionBackgroundColor: Color = Color(0xFFB3D7FF), selectionForegroundColor: Color = Color.Black, keyboardEnabled: Boolean = false, showSoftKeyboard: Boolean = true, focusRequester: FocusRequester = remember { FocusRequester() }, onTerminalTap: () -> Unit = {}, onImeVisibilityChanged: (Boolean) -> Unit = {}, forcedSize: Pair<Int, Int>? = null, modifierManager: ModifierManager? = null, onSelectionControllerAvailable: (SelectionController) -> Unit? = null, onHyperlinkClick: (String) -> Unit = {}, onComposeControllerAvailable: (ComposeController) -> Unit? = null, onPasteRequest: () -> Unit? = null, rightAltMode: RightAltMode = RightAltMode.CharacterModifier, delKeyMode: DelKeyMode = DelKeyMode.Delete)

Terminal - A Jetpack Compose terminal screen component.